package com.hzw.code.fast.sys.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzw.code.fast.sys.controller.args.SysMenuPageArgs;
import com.hzw.code.fast.sys.controller.args.SysMenuQueryArgs;
import com.hzw.code.fast.sys.dto.SysMenuDto;
import com.hzw.code.fast.sys.dto.page.SysMenuPageDto;
import com.hzw.code.fast.sys.entity.SysMenuEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 菜单（资源）表(SysMenu)持久层
 *
 * @author 胡汉三
 * @date 2020-05-20 14:28:24
 */
@Repository
public interface SysMenuMapper extends BaseMapper<SysMenuEntity>{
   
   /**
     * 分页查询
     *
     * @param args ${@link SysMenuPageArgs}
     * @param page  ${@link Page}
     * @return IPage<SysMenuDto> ${@link IPage<SysMenuDto>}
     * @author code generation
     * @date 2020-05-20 14:28:24
     */
    IPage<SysMenuPageDto> page(Page page, @Param("query") SysMenuPageArgs args);


    /**
     * 条件查询多条
     *
     * @param args ${@link SysMenuQueryArgs}
     * @return List<SysMenuDto> ${@link List<SysMenuDto>}
     * @author code generation
     * @date 2020-05-20 14:28:24
     */
    List<SysMenuDto> selectListByModel(SysMenuQueryArgs args);

    /**
     * 根据角色编号查询菜单权限
     * @param list
     * @return
     */
    List<String> getMenuByRoles(List<String> list);

}